package co.fitstart.entity.courseware.fitnessgroup;

import com.demo2do.core.utils.Alias;

/**
 * 
 * @author mohanlan
 *
 */
@Alias("fitnessGroupType")
public enum FitnessGroupType {
    
    // 线上课程默认6周 + 三天的预热期    
    ONLINE_COURSE_GROUP("online", "线上课程分组"),
    
    // 线下根据course来确定
    OFFLINE_COURSE_GROUP("offline", "线下课程分组"),
    
    // 特殊课件分组，基本是某一天的课件分组
    SPECIALTY_COURSE_GROUP("specialty", "特殊课件分组");
    
    private String alias;
    
    private String description;
    
    /**
     * 
     * @param alias
     * @param description
     */
    FitnessGroupType(String alias, String description) {
        this.alias = alias;
        this.description = description;
    }
    
    /**
     * 
     * @param alias
     * @return
     */
    public static FitnessGroupType aliasOf(String alias) {
        for (FitnessGroupType fitnessGroupType : FitnessGroupType.values()) {
            if (fitnessGroupType.getAlias().equalsIgnoreCase(alias)) {
                return fitnessGroupType;
            }
        }
        
        return null;
    }
    
    /**
     * 
     * @return
     */
    public boolean isOnline() {
        return this.equals(ONLINE_COURSE_GROUP);
    }
    
    /**
     * 
     * @return
     */
    public boolean isOffline() {
        return this.equals(OFFLINE_COURSE_GROUP);
    }
    
    /**
     * 
     * @return
     */
    public boolean isSpecialty() {
        return this.equals(SPECIALTY_COURSE_GROUP);
    }
    
    /**
     * @return
     */
    public String getAlias() {
        return alias;
    }
    
    /**
     * @return
     */
    public String getDescription() {
        return description;
    }
}
